package edu.xcdq;

public class Demo04 {
    public static void main(String[] args) {
        //类型转换


        //1.自动类型转换
        //类型兼容  小范围变量转为大范围变量
        int  num1 = 18;
        double num2 =19.8;
        double num3 = num1; //发生了自动类型转换  把int行转换为double型

        char sex ='女';
        //char num4 = num1+sex; //int +char  类型不兼容不能相加
        int num5 =num1 +sex; //int +char  = int 之所以不报错， 原因： char在系统中用ASCII码表示（其实就是数学）
        int num6 = num1 +(int)sex ; //相当于发生了强制类型转换
        System.out.println(num6);  //22917 = 18 +?
        //特例2：
        String name = "小茗";
        //int  num7 = num1+ name;  //int +String = ？会报错
        String  res = num1 +name ; //此时的+ 是拼接作用，会把数字num1当作一个字符串


        // 2强制类型转换  发生在高精度转为低精度
        double  high = 188.88;
        int  relHigh =(int)high ; // 强制类型转换  将大精度的数转换为小精度的数
        int  wight = (int)88.88;  //强制类型转换  将大精度的数转换为小精度的数


    }
}
